package com.zeyu.soc.log.spi.impl;

import com.zeyu.soc.log.spi.TransformDescriptor;
import com.zeyu.soc.log.spi.annotations.SpiDesc;

/**
 */
@SpiDesc(desc = "此功能用于在某类的某方法的某行插入日志")
public class LineLogTransformDescriptor implements TransformDescriptor {

	// ================================================================
	// Constants
	// ================================================================

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 1L;

	// ================================================================
	// Fields
	// ================================================================

	@SpiDesc(desc = "要插入日志的类")
	private String needInjectClassName;

	@SpiDesc(desc = "要插入日志的方法")
	private String methodName;

	@SpiDesc(desc = "要插入日志的所在方法的行数(类中的绝对行数)，代码将会在此行开头加入")
	private String lineNum;

	@SpiDesc(desc = "日志代码,例如$trace(12345678);")
	private String lineCode;

	// ================================================================
	// Constructors
	// ================================================================

	// ================================================================
	// Methods from/for super Interfaces or SuperClass
	// ================================================================

	@Override
	public String getNeedInjectClassName() {
		return needInjectClassName;
	}

	// ================================================================
	// Public or Protected Methods
	// ================================================================

	// ================================================================
	// Getter & Setter
	// ================================================================

	/**
	 * Gets the line code.
	 */
	public String getLineCode() {
		return lineCode;
	}

	/**
	 * Sets the line code.
	 */
	public void setLineCode(String lineCode) {
		this.lineCode = lineCode;
	}

	/**
	 * Gets the method name.
	 */
	public String getMethodName() {
		return methodName;
	}

	/**
	 * Sets the method name.
	 */
	public void setMethodName(String methodName) {
		this.methodName = methodName;
	}

	/**
	 * Gets the line number.
	 */
	public String getLineNum() {
		return lineNum;
	}

	/**
	 * Sets the line number.
	 */
	public void setLineNum(String lineNum) {
		this.lineNum = lineNum;
	}

	/**
	 * Sets the need inject class name.
	 */
	public void setNeedInjectClassName(String needInjectClassName) {
		this.needInjectClassName = needInjectClassName;
	}

	// ================================================================
	// Private Methods
	// ================================================================

	// ================================================================
	// Inner or Anonymous Class
	// ================================================================

	// ================================================================
	// Test Methods
	// ================================================================
}
